package com.ruoyi.slope.api.service;

import java.time.LocalDateTime;
import java.util.Date;
import java.util.Map;

/**
 * 边坡监测数据服务接口
 * 提供获取边坡监测点数据的统一方法
 */
public interface SlopeDataApiService {

    /**
     * 获取所有监测点最新数据
     *
     * @return 包含code、dataType、slopecode、datas等字段的Map
     */
    Map<String, Object> getAllSlopeData(String code);

    /**
     * 获取所有监测点最新数据
     *
     * @return 包含code、dataType、slopecode、datas等字段的Map
     */
    Map<String, Object> getAllSlopeDataSet(String code);


    /**
     * 获取最新报警信息
     * @param code 边坡编号
     * @return 包含code、dataType、slopeCode、data等字段的Map
     */
    Map<String, Object> getAllSlopeWarningInfo(String code);

    /**
     * 根据监测类型、设备序列号和时间区间获取监测数据
     *
     * @param monitorType 监测类型（如裂缝、倾斜等）
     * @param deviceSn 设备序列号
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @return 包含code、monitorType、deviceSn、data等字段的Map
     */
    Map<String, Object> getMonitorData(String monitorType, String deviceSn, Date startTime, Date endTime);

}
